#pragma once


#include "ScriptCompiler/AST/ASTNode.h"

class CScriptToken;
class CTypeNode;

class CParameterNode : public CASTNode
{
public:
    CParameterNode(std::weak_ptr<CScriptFileContext> InFile)
        : CASTNode( InFile,EASTNodeType::FunctionParameter)
    {
    }

    std::shared_ptr<CScriptToken> Name;
    std::shared_ptr<CTypeNode> Type;
    TOptional<std::shared_ptr<CScriptToken>> DefaultValue;

    virtual void DebugPrint(int32_t InDepth) override;

    virtual std::shared_ptr<CScriptToken> GetFirstToken() override;
};
